The advent of networked data processing systems, and, particularly, the network of networks referred to as the Internet, has spurred the introduction of distributed data processing services. In such systems, a client, typically remotely connected to the service provider via one or more networks, accesses data processing services which are implemented on the remote data processing system which returns the results of the data processing activity to the client. It has become common to use the services represented by the World Wide Web (WWW) with its graphical user interface (GUI) orientation to provide the interface to such distributed data processing services.
Typically, in such distributed processing systems, the client sends a request to the server. The request may include one or more parameters which may be inputs to the particular service requested.
On the server side, the system builds a Web page for returning the response to the requesting client. The server accesses a server page containing code that defines the Web page. Embedded in the code for generating the page, i.e. HTML script, is code that is executable by the server to generate the requested data processing service to generate the necessary HTML script to display the results on the client machine.
A Web browser running on the client machine is an application that can interpret the HTML and display the page on a conventional display such as a CRT monitor connected to the client machine. Commercially available Web browsers include Netscape Navigator®, Mozilla, Internet Explorer®, iCab, and Opera. Technologies for implementing distributed computing services in this way include Active Server Pages (ASP) and Java™ Server Pages (JSP). Additionally, such services may access server-side application software to perform some or all of the requested tasks via an environment-independent interprocess communication application program interface (API) such as DCOM (Distributed Component Object Model), CORBA (Common Object Request Broker Architecture) or Remote Method Invocation (RMI). In response to execution of the page by the browser, the application software generates dynamic data and returns the data to the client which then displays the data in accordance with the code defining the page. Additionally, as described further below, the server-side application need not reside on the same hardware as the page server, but may be deployed on other hardware that may be remote from both the client and the page server.
The increasing deployment of XML compliant systems has led to the development of distributed data processing technologies that are not constrained to the object-model specific protocols, such as DCOM, RMI or CORBA. XML which refers to the eXtensible Markup Language is a tag-based markup language for describing structured data. Unlike HTML, XML tags are not predefined. XML is a meta-markup language. XML includes a mechanism, XML schema and data type definitions (DTD), to convey information about a document's structure and data types. The XML specification is promulgated by the World Wide Web Consortium (W3C). XML (and derivatives thereof) enable the access to distributed data processing services using standard Internet protocols. Such distributed, application-to-application data processing implementations may, generically, be referred to as Web services. An XML derivative that may be used to describe Web services is the Web Service Definition Language (WSDL). A WSDL document defines the messages a particular Web service accepts and generates.
Although the DWSL is a rich language for describing Web services, abstracting and evaluating the Web service interface from the WSDL description is a challenge for the developer of a Web page that may use the Web service. Web developers have a multiplicity of approaches available to them for developing Web pages. That is, for any Web programming problem, there are a multiplicity of programming solution domains that the user may choose. For example, some developers may prefer writing Java Server Pages (JSP) tags to deliver Web content. Others may prefer writing in Java™ and develop content using Java™ servlets. Still others may use Javascript. Each of these classes of Web developers will have a different programming perspective and different requirements when analyzing a Web service for potential use in an application. The “raw” WSDL description of the Web service may not be the effectively meet the requirements of these developers. Thus, there is a need in the art for mechanisms to evaluate Web services whereby the WSDL information is conveyed in a perspective, or equivalently, view that is consonant with the developer's preferred programming domain. Additionally, there is a further need for a mechanism to execute sample calls to the Web service using that view of the Web service, and to execute sample calls to the service.